se.cs.ieu.edu.tr
Dersin Adı | |
Kodu | Yarıyıl | Teori (saat/hafta) | Uygulama/Lab (saat/hafta) | Yerel Kredi | AKTS |
---|---|---|---|---|---|
Güz/Bahar |
Ön-Koşul(lar) | Yok | |||||
Dersin Dili | ||||||
Dersin Türü | Seçmeli | |||||
Dersin Düzeyi | - | |||||
Dersin Veriliş Şekli | - | |||||
Dersin Öğretim Yöntem ve Teknikleri | Problem çözme | |||||
Dersin Koordinatörü | - | |||||
Öğretim Eleman(lar)ı | - | |||||
Yardımcı(ları) | - |
Dersin Amacı | |
Öğrenme Çıktıları | Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Ders Tanımı |
| Temel Ders | |
Uzmanlık/Alan Dersleri | X | |
Destek Dersleri | ||
İletişim ve Yönetim Becerileri Dersleri | ||
Aktarılabilir Beceri Dersleri |
Hafta | Konular | Ön Hazırlık |
1 | Tanıtım ve motivasyon. Matematik temeller, toplamalar, özyinelemeler, ve fonksiyonların artışı | Cormen Chapter 2, 3, and 4 |
2 | Asimtotik notasyon ve Master teoremi | Cormen Chapter 4 |
3 | İkili heapler ve heapsortun analizi | Cormen Chapter 6 |
4 | Sıralama teorisi ve diğer karşılaştırma tabanlı sıralama algorithmaları: Merge sort ve quicksortun analizi | Cormen Chapter 7 |
5 | Quicksort algorithmasının en kötü çalışma senaryosu analizi | Cormen Chapter 7 |
6 | Doğrusal zamanda sıralama, sıralama için altsınırlar, counting sort, radix sort bucket sort | Cormen Chapter 8 |
7 | Ortanca ve sıra istatistikleri. Ortanca değer ve sıranın doğrusal zamanda bulunması ve selection algorithması | Cormen Chapter 9 |
8 | Arasınav | |
9 | Temel veri yapıları ve ekleme, silme ve güncellemenin çalışma zamanı analizleri | Cormen Chapter 10 |
10 | Hash tabloları ve çalışma zamanı analizleri | Cormen Chapter 11 |
11 | İkili arama ağaçları ve redblack ağaçları | Cormen Chapter 12 and 13 |
12 | Btree ve veri yapılarına ilaveler yapmak | Cormen Chapter 18 |
13 | Ortalama çalışma zamanı analizi | Cormen Chapter 17 |
14 | Binomial heapler ve fibonazzi heapler | Cormen Chapter 19 and 20 |
15 | Genel tekrar | |
16 | Dönemin gözden geçirilmesi |
Ders Kitabı | Introduction to Algorithms, 2/eThomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, ISBN: 9780262533058, MIT PressData Structures and Algorithm Analysis in C++, Mark Allen Weiss, Addision Wesley, Third Edition. |
Önerilen Okumalar/Materyaller | Algorithm Design. Jon Kleinberg and Eva Tardos. 2006, Pearson Education, ISBN 0321372913 |
Yarıyıl Aktiviteleri | Sayı | Katkı Payı % |
Katılım | ||
Laboratuvar / Uygulama | ||
Arazi Çalışması | ||
Küçük Sınav / Stüdyo Kritiği | ||
Portfolyo | ||
Ödev | ||
Sunum / Jüri Önünde Sunum | ||
Proje | 6 | 30 |
Seminer/Çalıştay | ||
Sözlü Sınav | ||
Ara Sınav | 1 | 30 |
Final Sınavı | 1 | 40 |
Toplam |
Yarıyıl İçi Aktivitelerin Başarı Notuna Katkısı | 60 | |
Yarıyıl Sonu Aktivitelerin Başarı Notuna Katkısı | 40 | |
Toplam |
Yarıyıl Aktiviteleri | Sayı | Süre (Saat) | İş Yükü |
---|---|---|---|
Teorik Ders Saati (Sınav haftası dahildir: 16 x teorik ders saati) | 16 | 3 | 48 |
Laboratuvar / Uygulama Ders Saati (Sınav haftası dahildir. 16 x uygulama/lab ders saati) | 16 | ||
Sınıf Dışı Ders Çalışması | 15 | 2 | |
Arazi Çalışması | |||
Küçük Sınav / Stüdyo Kritiği | |||
Portfolyo | |||
Ödev | |||
Sunum / Jüri Önünde Sunum | |||
Proje | 6 | 2 | |
Seminer/Çalıştay | |||
Sözlü Sınav | |||
Ara Sınavlar | 1 | 10 | |
Final Sınavı | 1 | 20 | |
Toplam | 120 |
# | Program Yeterlilikleri / Çıktıları | * Katkı Düzeyi | ||||
1 | 2 | 3 | 4 | 5 | ||
1 | Gerçek hayata ilişkin sorunları tanımlayarak, yazılım proje, süreç ve ürününe ait fonksiyonel ve fonksiyonel olmayan özellikleri tanımlayabilmek | |||||
2 | Yazılım mimarisi, bileşenleri, arayüzleri ve sisteme ait diğer bileşenleri tanımlayabilmek | X | ||||
3 | Kodlama, doğrulama (verification), birim testleri (unit testing) ve hata ayıklama (dubugging) konularını da içerecek şekilde yazılım geliştirebilmek | X | ||||
4 | Programın davranışlarını, yürütüm koşullarını, ve beklenen sonuçlara göre yazılımı sınayarak doğrulayabilmek | X | ||||
5 | Yazılımın çalışması sırasında, çalışma ortamının değişmesi, yeni kullanıcı istekleri ve yazılım hatalarının ortaya çıkması ile meydana gelen bakım faaliyetlerine yönelik işlemleri yapabilmek | |||||
6 | Yazılımın yaşam sürecinde, yazılımın diğer yazılım sistemleri ile olan entegrasyonunu sağlamak, yazılımda yapılan değişiklikleri yönetmek, yazılımın piyasa sürümlerini ve ara sürümlerini sistematik olarak planlayabilmek, izleyebilmek ve denetleyebilmek | |||||
7 | Yazılım mühendisliğine yönelik gereksinimlerin anlaşılması, olurluluk çalışmalarına göre hedeflerin saptanması, süreçlerin planlanması, çıktıların belirlenmesi, kaynak planlamalarının yapılması, maliyetlerin saptanması, kaynakların tahsisi, risk yönetimi, kalite planlaması konularında bilgi sahibi olmak | |||||
8 | Yazılım mühendisliği süreçlerini tanımlayabilme, uygulayabilme, değerlendirebilme, ölçme, yönetme, değiştirme ve geliştirme konularında bilgi sahibi olmak | |||||
9 | Yazılım gereksinimi, tasarımı, geliştirmesi, sınaması, bakımı, yapılanışı, yönetimi ve kalitesi konularındaki çeşitli araçları ve yöntemleri bilmek, kullanabilme pratiğine sahip olmak | X | ||||
10 | Yazılım yaşam döngüsü süreçlerinde, yazılım kalitesi, kalite modelleri ve karakteristikleri konularını bilmek, temel kalite ölçümlerini yapabilmek ve bunları yazılım geliştirme, doğrulama ve sınama konularıyla birlikte yorumlayabilmek | X | ||||
11 | Başta bilgisayar mühendisliği, yönetim, matematik, proje yönetimi, kalite yönetimi, yazılım ergonomisi ve sistem mühendisliği olmak üzere, yazılım mühendisliği ile ortak sınırlara ve değerlere sahip diğer disiplinler hakkında bilgi sahibi olmak | X | ||||
12 | Genelde mühendislik özelde yazılım mühendisliği kültürü ve etik anlayışını kavrayabilmek, uygulayabilecek temel bilgilere sahip olmak | X | ||||
13 | Yabancı dil kullanarak konusuna ait yayınları takip edebilmek, meslektaşları ile iletişim kurabilmek | X |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest